/**
 * TODO
 * RedisKeys.java 2018年4月25日 下午2:41:12 by panxinwen
 * Copyright(C) 2014-2020 netease - easegame, All Rights Reserved.
 */
package com.treasure.service.enums;

import com.treasure.service.commons.lang.util.StringUtil;

/**
* @ClassName: RedisKeys
* @Description: TODO()
* @author <a href="mailto:125671254@qq.com">Pan Xinwen</a>panxinwen
* @date 2018年5月29日 下午10:41:12
*/
public enum RedisKeys {
	/**
	 *验证码
	 */
	AUTH_CODE("AUTH_CODE"),

	/**
	 * 回调地址
	 */
	REDIRECT_LIST("REDIRECT_LIST"),

	/**
	 * access_token
	 */
	ACCESS_TOKEN("ACCESS_TOKEN"),

    /**
     * 用户token
     */
	TOKEN("TOKEN"),

    /**
     * 用户登录信息
     */
    LOGIN("LOGIN"),

    /**
     * 通知消息
     */
	NOTICE("NOTICE"),

	/**
	 * 二维码
	 */
	QRCODE("QRCODE"),

	/**
	 * 邀请码
	 */
	INVITE_CODE("INVITE_CODE"),

	;


 	private static final String PREFIX = "WEB:CACHE:TREASURE:DATA:";
	private String key;

	RedisKeys(String key) {
		this.key = PREFIX + key;
	}

	/**
	 * 构造redis key
	 * @param params
	 *
	 * @return
	 */
	public String build(Object... params){

		StringBuilder sb = new StringBuilder(this.key);

		for (Object param : params) {
		    if (!StringUtil.isEmpty(param)){
                sb.append(":"+param);
            }

		}
		return sb.toString();
	}


    /**
     * 构造redis key
     * @param params
     *
     * @return
     */
    public String buildNotPREFIX(Object... params){
        StringBuilder sb = new StringBuilder(this.key);
        for (Object param : params) {
            sb.append(param);
        }
        return sb.toString();
    }


}
